/**
 * 装饰器模式
 *
 * 角色分类：
 * 抽象类
 * 实现类： 抽象类的子类
 * 抽象装饰类： 也是抽象类的子类（个人感觉在大部分的场景下这个类可以不需要）只不过内部需要维护一个抽象类的引用
 * 抽象装饰类的实现类：实现抽象装饰类，具体对抽象类的的实现类如何进行装饰，在这里实现
 *
 * 典型的使用案例： Java I/O 中的装饰者模式
 */
package com.young.design.pattern.decorator;